# 作业：
# 1、编写函数，从键盘输入一字符串，把其中的各个字符颠倒，标点符号不颠倒，例如，‘I enjoy reading!’，经过函数调用后变为‘gnidaer yojne I’

# def func_a(str1):
#     str2 = ['!']
#     str3 = []
#     str4 = ''
#     for i in range(len(str1)):
#         if str1[i] in str2:
#             str3.append(i)
#     str1 = str1[-2::-1]
#     for i in str2:
#         str4 = str1[:15] + i + str1[15:]
#     print(str4)
#
#
# str1 = "I enjoy reading!"
# func_a(str1)

# 2、找出列表 a = [“hello”, “world”, “yoyo”, “congratulations”] 中单词最长的一个。
# a = ["hello","world","yoyo","congratulations"]
# longest_word = ""
# for word in a:
#     if len(word) >len(longest_word):
#         longest_word = word
# print("最长的单词是:", longest_word)


# 3、如果有一个列表 a = [1,3,5,7,11]，那么如何让它反转成 [11,7,5,3,1]，并且取到奇数位值的数字 [1,5,11]
# a = [1,3,5,7,11]
# b = a[::-1]
# c = []
# for i in range(len(a)):
#     if i % 2 == 0:
#         c.append(a[i])
# print("反转后的列表：", b)
# print("奇数位的数字：", c)

# 4、输入一个包含若干任意数据类型的列表，输出该列表中等价于True的元素组成的列表，
# 例如，输入[1,0,2,None,False,"a"]，输出[1,2,'a']
# def func_a(list1):
#     list2 = []
#     for i in list1:
#         if i:
#             list2.append(i)
#     print(list2)
#
# func_a([1,0,2,None,False,"a"])


# 5、给你一个数组 nums 和一个值 val，你需要 原地 移除所有数值等于 val 的元素，并返回移除后数组的新长度。
# 示例：
# 输入：nums = [3,2,2,3], val = 3
# 输出：2, nums = [2,2]
# def new_nums(nums,val):
#     num1 = []
#     for a in nums:
#         if a != val:
#             num1.append(a)
#     print("列表的新长度为:",len(num1))
#     print("新的列表为:", num1)
#
#
# new_nums([3, 2, 2, 3], 3)


# 6、给定一个排序数组和一个目标值，在数组中找到目标值，并返回其索引。如果目标值不存在于数组中，返回它将会被按顺序插入的位置。
# 示例 1:
# 输入: nums = [1,3,5,6], target = 5
# 输出: 2
# 示例 2:
# 输入: nums = [1,3,5,6], target = 2
# 输出: 1
# 示例 3:
# 输入: nums = [1,3,5,6], target = 7
# 输出: 4
# def func_a(nums,target):
#     for i in range(len(nums)):
#         if nums[i] == target:
#             print(i)
#             elif target not in nums:
#             for n in range(len(nums)):
#                 if nums[n] > target:
#                     nums.insert(n, target)
#                     break
#
#     if target > max(nums):
#         nums.append(target)
#         print(nums.index(target))
#     print(nums)
# func_a(nums, target)



# 7、给你一个下标从 0 开始的字符串 details 。details 中每个元素都是一位乘客的信息，信息用长度为 15 的字符串表示，表示方式如下：
# 前十个字符是乘客的手机号码。
# 接下来的一个字符是乘客的性别。
# 接下来两个字符是乘客的年龄。
# 最后两个字符是乘客的座位号。
# 请你返回乘客中年龄 严格大于 60 岁 的人数
#
# 示例 1：
# 输入：details = ["7868190130M7522","5303914400F9211","9273338290F4010"]
# 输出：2
# 解释：下标为 0 ，1 和 2 的乘客年龄分别为 75 ，92 和 40 。所以有 2 人年龄大于 60 岁
# 示例 2：
# 输入：details = ["1313579440F2036","2921522980M5644"]
# 输出：0
# 解释：没有乘客的年龄大于 60 岁。
# def Passenger_information(str1):
#     count = 0
#     for i in range(0, len(str1), 15):
#             age = int(str1[i + 11:i + 13])
#             if age > 60:
#                 count += 1
#         return count


# 8、写函数监测用户传入的对象（字符，列表，元组）的每一个元素是否有空内容
# def Check_objects(obj):
#     if isinstance(obj, str):
#         for a in obj:
#             if a == "":
#                 return "有空内容"
#             else:
#                 return "没有空内容"
#     elif isinstance(obj, list):
#         for b in obj:
#             if b == "":
#                 return "有空内容"
#             else:
#                 return "没有空内容"
#     elif isinstance(obj, tuple):
#         for c in obj:
#             if c == "":
#                 return "有空内容"
#             else:
#                 return "没有空内容"
#     else:
#         return "没有空内容"


# 9、 随机生成20个学生的成绩; 判断这20个学生成绩的等级;
# A：（90~100） B：（80~89） C：80以下
# import random
# def gg():
#     score = []
#     for i in range(20):
#         score1 = random.randint(0,101)
#         score.append(score1)
#     return score
# print(gg())
# def hh(grade):
#     if grade>=90 and grade<=100:
#          return "A"
#     elif grade>=80 and grade<90:
#         return "B"
#     else:
#         return "C"
# grade1 = [hh(score1) for score1 in gg()]
# print(grade1)


# 10、编写一个用户登录函数（用户名密码提前设置）；
# 返回用户登录成功或者失败的结果；
# def user_login(username, password):
#     user = "admin"
#     pwd = "123456"
#     if username == user and password == pwd:
#         return "登陆成功！"
#     elif username != user and password != pwd:
#         return "账号和密码错误，登录失败！"
#     elif username != user:
#         return "账号错误，登录失败！"
#     elif password != pwd:
#         return "密码错误，登录失败！"
#     else:
#         return "程序有误，请您重试！"
#
# user = input("请输入用户名：")
# pwd = input("请输入密码：")
#
# result = user_login(user, pwd)
# print(result)
